# PMake improvement backlog derived from task manager evaluations.
# REGISTER_TASK(ID, STATUS, CLASS, STREAM, TITLE, REF)

$(call REGISTER_TASK,PMK_CAT_META,done,essential,CATALOGUE,Extend project Makefile macros to accept metadata fields,docs/pmake/GSICore_pmake_quickstart.md)
$(call REGISTER_META,PMK_CAT_META,linden,2025-11-05,P1,pmake catalogue meta,REGISTER_META wires owner/due/prio tags for downstream automation,)
$(call REGISTER_TASK,PMK_CAT_STREAM_SPLIT,done,essential,CATALOGUE,Split FLEXINVERT and GSI catalogues into per-stream include files,projects/flexinvert/includes/tasks.mk)
$(call REGISTER_META,PMK_CAT_STREAM_SPLIT,linden,2025-11-05,P1,flexinvert gsi catalogue split,Per-stream include directories replace monolithic catalogues,)
$(call REGISTER_TASK,PMK_CAT_NEW_TASKS,done,essential,CATALOGUE,Backfill owner/due/priority metadata across existing task lists,projects/gsi/includes/tasks.mk)
$(call REGISTER_META,PMK_CAT_NEW_TASKS,linden,2025-11-06,P1,flexinvert gsi metadata,Owners/due/prio fields populated across catalogues,)
$(call REGISTER_TASK,PMK_CAT_WRF_SPLIT,done,essential,CATALOGUE,Split WRF catalogue into per-stream include files,projects/wrf/includes/tasks.mk)
$(call REGISTER_META,PMK_CAT_WRF_SPLIT,linden,2025-11-06,P1,wrf wrf-mcv wrf-se catalogue,WRF catalogue now uses per-stream includes with success metadata,)

$(call REGISTER_TASK,PMK_AUTO_MARK,done,essential,AUTOMATION,Add mark/start/done/block targets powered by helper script,projects/flexinvert/Makefile)
$(call REGISTER_META,PMK_AUTO_MARK,linden,2025-11-07,P1,flexinvert gsi automation,Helper updates catalogue status without manual edits,)
$(call REGISTER_TASK,PMK_AUTO_NEXT,done,essential,AUTOMATION,Provide next target sorting pending tasks by priority and due,projects/flexinvert/Makefile)
$(call REGISTER_META,PMK_AUTO_NEXT,linden,2025-11-08,P1,flexinvert automation next,Pending queue orders by priority then due date,)
$(call REGISTER_TASK,PMK_AUTO_FILTERS,done,essential,AUTOMATION,Introduce owner and tag filtering flags for stream views,projects/gsi/Makefile)
$(call REGISTER_META,PMK_AUTO_FILTERS,linden,2025-11-09,P1,gsi automation filters,Stream todo supports OWNER/TAGS filters,)
$(call REGISTER_TASK,PMK_AUTO_WRF_SEED,done,essential,AUTOMATION,Add success-log seeding helper for WRF backlog,projects/wrf/Makefile)
$(call REGISTER_META,PMK_AUTO_WRF_SEED,linden,2025-11-06,P1,wrf wrf-mcv wrf-se automation seed,make seed target mirrors template into success locations,)

$(call REGISTER_TASK,PMK_METRIC_PROGRESS,done,essential,METRICS,Implement progress counters and per-stream completion reporting,projects/flexinvert/Makefile)
$(call REGISTER_META,PMK_METRIC_PROGRESS,mira,2025-11-10,P1,flexinvert metrics,Progress target prints counts and completion percentages,)
$(call REGISTER_TASK,PMK_METRIC_GATES,done,essential,METRICS,Add parity and gate targets verifying evidence before status flips,projects/gsi/includes/tasks.mk)
$(call REGISTER_META,PMK_METRIC_GATES,casey,2025-11-11,P1,gsi metrics parity,Gates verify evidence artifacts before status flips to done,)
$(call REGISTER_TASK,PMK_METRIC_EXPORT,todo,essential,METRICS,Create JSON and Markdown exporters plus snapshot target,docs/roadmap_bundle/pmake_snapshots)
$(call REGISTER_META,PMK_METRIC_EXPORT,linden,2025-11-12,P1,pmake metrics export,Exporters emit JSON/MD snapshots for dashboards,)

$(call REGISTER_TASK,PMK_CORE_TARGETS,todo,essential,PMAKE_CORE,Wire flex/gsi Makefiles into PMake manifest with optional targets,PMakeLists.txt)
$(call REGISTER_META,PMK_CORE_TARGETS,linden,2025-11-14,P1,pmake core targets,Manifest exposes project dashboards as optional targets,)
$(call REGISTER_TASK,PMK_CORE_CLI,todo,essential,PMAKE_CORE,Extend pmake CLI with mark/next/export subcommands,pmake/cli.py)
$(call REGISTER_META,PMK_CORE_CLI,linden,2025-11-18,P1,pmake core cli,CLI provides mark/next/export parity with Make targets,)
$(call REGISTER_TASK,PMK_CORE_DOCSTATE,waiting,essential,PMAKE_CORE,Ensure pmake worklogs capture metadata fields automatically,logs/flexinvert)
$(call REGISTER_META,PMK_CORE_DOCSTATE,linden,2025-11-20,P2,pmake core worklogs,Worklogs mirror owner/due/prio metadata in outputs,)
$(call REGISTER_TASK,PMK_CORE_WRF_QUEUE,done,essential,PMAKE_CORE,Expose WRF dashboards via pmake project queue,projects/pmake/includes/projects.mk)
$(call REGISTER_META,PMK_CORE_WRF_QUEUE,linden,2025-11-06,P1,wrf wrf-mcv wrf-se pmake queue,list-proj/next-proj include wrf shortcuts and defaults,)

$(call REGISTER_TASK,PMK_DOC_GUIDE,todo,essential,DOCS,Update manuals to document new workflows and filters,docs/pmake/GSICore_pmake_quickstart.md)
$(call REGISTER_META,PMK_DOC_GUIDE,sam,2025-11-13,P1,pmake docs guide,Manual documents PROJECT filter and mark tooling,)
$(call REGISTER_TASK,PMK_DOC_README,waiting,optional,DOCS,Add short improvement overview to README and AGENTS guide,README.md)
$(call REGISTER_META,PMK_DOC_README,sam,2025-11-16,P2,pmake docs overview,README summarises improvement roadmap changes,)

$(call REGISTER_TASK,PMK_CI_TESTS,todo,essential,CI,Add automated checks for pmake CLI and catalogue exporters,pmake/tests/README.md)
$(call REGISTER_META,PMK_CI_TESTS,qa,2025-11-22,P1,pmake ci tests,CI verifies CLI/exports to prevent regression,)
$(call REGISTER_TASK,PMK_CI_PIPELINE,waiting,optional,CI,Publish CI recipe that runs gates and uploads snapshots,.github/workflows)
$(call REGISTER_META,PMK_CI_PIPELINE,qa,2025-11-25,P2,pmake ci pipeline,CI publishes parity gates and snapshots to artefacts,)

# Task dependencies
$(call REGISTER_DEP,PMK_CAT_STREAM_SPLIT,PMK_CAT_META)
$(call REGISTER_DEP,PMK_CAT_NEW_TASKS,PMK_CAT_META)
$(call REGISTER_DEP,PMK_CAT_WRF_SPLIT,PMK_CAT_META)

$(call REGISTER_DEP,PMK_AUTO_MARK,PMK_CAT_META)
$(call REGISTER_DEP,PMK_AUTO_NEXT,PMK_CAT_META)
$(call REGISTER_DEP,PMK_AUTO_FILTERS,PMK_AUTO_MARK)
$(call REGISTER_DEP,PMK_AUTO_WRF_SEED,PMK_AUTO_MARK)

$(call REGISTER_DEP,PMK_METRIC_PROGRESS,PMK_CAT_META)
$(call REGISTER_DEP,PMK_METRIC_GATES,PMK_AUTO_MARK)
$(call REGISTER_DEP,PMK_METRIC_EXPORT,PMK_AUTO_NEXT)

$(call REGISTER_DEP,PMK_CORE_TARGETS,PMK_METRIC_EXPORT)
$(call REGISTER_DEP,PMK_CORE_CLI,PMK_AUTO_MARK)
$(call REGISTER_DEP,PMK_CORE_CLI,PMK_METRIC_EXPORT)
$(call REGISTER_DEP,PMK_CORE_DOCSTATE,PMK_CORE_CLI)
$(call REGISTER_DEP,PMK_CORE_WRF_QUEUE,PMK_AUTO_WRF_SEED)

$(call REGISTER_DEP,PMK_DOC_GUIDE,PMK_AUTO_FILTERS)
$(call REGISTER_DEP,PMK_DOC_GUIDE,PMK_METRIC_EXPORT)
$(call REGISTER_DEP,PMK_DOC_README,PMK_DOC_GUIDE)

$(call REGISTER_DEP,PMK_CI_TESTS,PMK_CORE_CLI)
$(call REGISTER_DEP,PMK_CI_PIPELINE,PMK_CI_TESTS)
